# Contributor: Matthias Neugebauer <mtneug@mailbox.org>
# Maintainer: Matthias Neugebauer <mtneug@mailbox.org>
pkgname=nomad
pkgver=0.11.3
pkgrel=0
pkgdesc="An easy-to-use, flexible, and performant workload orchestrator"
url="https://www.nomadproject.io/"
arch="all !mips !mips64" # blocking on yarn/npm
license="MPL-2.0"
depends="cni-plugins"
makedepends="linux-headers bash make go yarn npm go-bindata-assetfs"
subpackages="$pkgname-openrc"
options="net !check" # cannot produce environment for testing in CI
source="$pkgname-$pkgver.tar.gz::https://github.com/hashicorp/nomad/archive/v$pkgver.tar.gz
	nomad.initd
	nomad.confd
	nvidia-driver.patch
	server.hcl
	static-assets.patch
	ui-remove-husky.patch"

builddir="$srcdir/src/github.com/hashicorp/$pkgname"

# secfixes:
#   0.11.1-r0:
#     - CVE-2020-10944
#   0.10.3-r0:
#     - CVE-2020-7218
#     - CVE-2020-7218
#   0.9.6-r0:
#     - CVE-2019-12741
#     - CVE-2019-15928
#     - CVE-2019-16742
#   0.9.5-r0:
#     - CVE-2019-14802
#     - CVE-2019-14803
#   0.9.2-r0:
#     - CVE-2019-12618

prepare() {
	mkdir -p "$srcdir/src/github.com/hashicorp"
	mv "$srcdir"/$pkgname-$pkgver "$builddir"/
	default_prepare
}

build() {
	make ember-dist
	GOPATH="$srcdir" CGO_ENABLED=1 GO_TAGS="ui release" make static-assets
	GOPATH="$srcdir" CGO_ENABLED=1 go build -v -o bin/$pkgname \
		-ldflags "-X github.com/hashicorp/nomad/version.GitCommit='$pkgver'" \
		-tags "ui release"
}

check() {
	GOPATH="$srcdir" CGO_ENABLED=1 go test -timeout=15m "./..."
}

package() {
	install -m755 -D "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname"
	install -m644 -D "$srcdir/$pkgname.confd" "$pkgdir/etc/conf.d/$pkgname"

	install -m755 -o root -g root -D bin/$pkgname "$pkgdir/usr/sbin/$pkgname"
	install -m640 -o root -g root -D "$srcdir/server.hcl" "$pkgdir/etc/nomad.d/server.hcl"
	install -m750 -o root -g root -d "$pkgdir/var/lib/$pkgname"
}

sha512sums="0346ffb34bec9504a826da75d127b5769ef568f5dad6a163f2e7d0666507dccb555861b55cc05c96b4c2828e2a678df2209d352c0ed53c57758820031b8e426c  nomad-0.11.3.tar.gz
ac969c81150ba57871c1f75f17c11d06ffc7bcc872882416c7c0d9d43f5e352ca1b7e7bfd75e32a9d01a826496c77a657dc298f5e048f85b4d9e85bc3afee51d  nomad.initd
a4fcc9f319926e8e5257dcc902cf3e1cbacd8bee82097b7a9719611d52037431a7e953a4b0fa90fc25475d2590cd14877c8e4c87bd909dd0099a754ba6f5063c  nomad.confd
e9c0161c2a9c0e1933c266520a410764a709c7b4f65b1a81c1fb2494eae89daa847ffca5df46d6eea61d855f35d21e66433ec0afe8c08017187c917e952b8544  nvidia-driver.patch
c2ba7db5bb0858547bf346819945d24626ac761541f38350b40408e1b26227549f6aa4d6946baadbf856329c0ac9f81f84164597d11361224b62a1697f17e726  server.hcl
8c3cee490070eef9312a03a9ccede2fdf6993bdfffc717081ff61eabd8e3d889287af8ad93f63983c72537f2aa134c77731e282f79cf7b5eb34fe512e1ddbeb3  static-assets.patch
904268431358cdb3e2172cb77e8ef952d337fe8213f5b1973275f4e240a75185fb0963dfb59ae2ad2927bb994cda4e9fa63656e0d23fd21eb44f4e1649bed9a5  ui-remove-husky.patch"
